package com.lost.octopus.es.helper.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 常用索引配置枚举
 * @author zhangbh
 **/
@Getter
@AllArgsConstructor
public enum IndexSettingEnum {

    /**
     * 每个主分片的副本数。默认为 1
     */
    number_of_replicas("number_of_replicas"),
    /**
     * 基于可用节点的数量自动分配副本数量,默认为 false(即禁用此功能)
     */
    auto_expand_replicas("auto_expand_replicas"),
    /**
     * 执行刷新操作的频率，这使得索引的最近更改可以被搜索。默认为 1s。可以设置为 -1 以禁用刷新。
     */
    refresh_interval("refresh_interval"),
    /**
     * 用于索引搜索的 from+size 的最大值。默认为 10000
     */
    max_result_window("max_result_window"),
    /**
     * 在搜索此索引中 rescore 的 window_size 的最大值
     */
    max_rescore_window("max_rescore_window"),
    /**
     * 设置为 true 使索引和索引元数据为只读，false 为允许写入和元数据更改
     */
    blocks_read_only("blocks.read_only"),
    /**
     * 设置为 true 可禁用对索引的读取操作
     */
    blocks_read("blocks.read"),
    /**
     * 设置为 true 可禁用对索引的写入操作
     */
    blocks_write("blocks.write"),
    /**
     * 设置为 true 可禁用索引元数据的读取和写入
     */
    blocks_metadata("blocks.metadata"),
    /**
     * 索引的每个分片上可用的最大刷新侦听器数
     */
    max_refresh_listeners("max_refresh_listeners"),
    ;

    private final String key;
}
